package com.ruoyi.system.service;

import java.util.HashMap;
import java.util.List;

import com.ruoyi.system.domain.SysOrganizationDomain;
import com.ruoyi.system.domain.SysOrganizationDomainChildren;
import com.ruoyi.system.domain.SysOrganizationDomainLabel;
import com.ruoyi.system.domain.dto.SysOrganizationDomainDto;
import com.ruoyi.system.domain.vo.SysOrganizationDomainVo;

/**
 * 组织领域Service接口
 *
 * @author ruoyi
 * @date 2024-08-29
 */
public interface ISysOrganizationDomainService {
    /**
     * 查询组织领域
     *
     * @param id 组织领域主键
     * @return 组织领域
     */
    public SysOrganizationDomain selectSysOrganizationDomainById(String id);

    /**
     * 查询组织领域列表
     *
     * @param sysOrganizationDomain 组织领域
     * @return 组织领域集合
     */
    public List<SysOrganizationDomain> selectSysOrganizationDomainList(SysOrganizationDomainDto sysOrganizationDomain);

    /**
     * 新增组织领域
     *
     * @param sysOrganizationDomain 组织领域
     * @return 结果
     */
    public int insertSysOrganizationDomain(SysOrganizationDomain sysOrganizationDomain);

    /**
     * 修改组织领域
     *
     * @param sysOrganizationDomain 组织领域
     * @return 结果
     */
    public int updateSysOrganizationDomain(SysOrganizationDomain sysOrganizationDomain);

    /**
     * 批量删除组织领域
     *
     * @param ids 需要删除的组织领域主键集合
     * @return 结果
     */
    public int deleteSysOrganizationDomainByIds(String[] ids);

    /**
     * 删除组织领域信息
     *
     * @param id 组织领域主键
     * @return 结果
     */
    public int deleteSysOrganizationDomainById(String id);

    List<SysOrganizationDomainVo> queryDomainList(SysOrganizationDomainDto sysOrganizationDomain);

    int addChildren(SysOrganizationDomainChildren sysOrganizationDomainChildren);

    List<SysOrganizationDomainLabel> queryDomainLabelList(SysOrganizationDomainDto sysOrganizationDomain);
}
